4
תגובות
יש מערכת התחברות באתר שאם קיים כזה שם וסיסמה אז יוצר סשן עם הערך 'בלהבלה' ומעביר בHEADER לדף הבא, ויוצג לו שם הסשן(בלהבלה).
באקספלור זה עובד.
בפיירפוקס ובכרום זה לא מדפיס את הסשן. רק אם עוברים לדף הבא דרך קישור (בצורה ידנית, ולא דרך הHEADER) אז הסשן מופיע.
למה זה קורה,ואיך לסדר את זה?
באקספלור זה עובד.
בפיירפוקס ובכרום זה לא מדפיס את הסשן. רק אם עוברים לדף הבא דרך קישור (בצורה ידנית, ולא דרך הHEADER) אז הסשן מופיע.
למה זה קורה,ואיך לסדר את זה?
4 תשובות
תוודא שב php.ini שלך יש רשומה
session.use_cookies 1 [/php
ותנסה ליצור מקרה יותר פשוט של הבעיה:
[php]<?php
session_start();
if(isset($_GET['redirected']))
{
echo $_SESSION['test'], ', you were redirected';
}
else
{
$_SESSION['test'] = 'hello';
header('location: ?redirected=true');
}
ותנסה ליצור מקרה יותר פשוט של הבעיה:
[php]<?php
session_start();
if(isset($_GET['redirected']))
{
echo $_SESSION['test'], ', you were redirected';
}
else
{
$_SESSION['test'] = 'hello';
header('location: ?redirected=true');
}
תראה עם באמת איתרת נכון את מקור הבעיה.
ענה
משתמש_92562
ב
24 לינואר 2012
#
לאחר סדרת ניסויים הגעתי למסקנה שהHEADER אשם!
יש לי במערכת התחברות תנאי: שאם נמצא כזה שם וסיסמא(mysql_num_rows>0) אז שיצור סשן ויעבור דף עם HEADER.
כשמחקתי את הHEADER אז הסשן עבד טוב.
הבעייה שאני צריך לעבור דף איך לעשות את זה?
(חשבתי שיהיה תנאי נוסף שאם קיים בסשן ערך אז שיעשה HEADER -כי אם יש סשן ממילא הוא קיים במערכת=מחובר).
יש רעיון אחר נחמד יותר?
header בדרך כלל לא אשם בשום דבר.
תוודא שיש לך session_start בכל העמודים כמו שצריך.
ענה
משתמש_92562
ב
24 לינואר 2012
#
אוקיי הסתדרתי תודה!